import { axiosInstance } from 'src/boot/axios'
import CommonConfig from 'src/assets/js/config'

const baseUrl = CommonConfig.bmsUrl + '/v1'

/**
 * 获取菜单
 * terminalType
 * **/
export function getMenu (params) {
  const newUrl = baseUrl + '/menu'

  return axiosInstance.get(newUrl, { params }).then((res) => {
    return Promise.resolve(res)
  })
}

/**
 * 添加企业
 * currentId 当前id
 * nextId 替换id
 * currentSort 替换位置
 * nextSort 替换位置
 * **/
export function changeSort (params) {
  const newUrl = baseUrl + `/change_sort`

  return axiosInstance.patch(newUrl, params).then((res) => {
    return Promise.resolve(res)
  })
}

/**
 * 添加目录
 * name 菜单名称
 * icon 图标名称
 * terminalType 终端类型
 * **/
export function addDir (params) {
  const newUrl = baseUrl + `/add_dir`

  return axiosInstance.post(newUrl, params).then((res) => {
    return Promise.resolve(res)
  })
}

/**
 * 编辑菜单
 * id
 * name 菜单名称
 * icon 图标名称
 * terminalType 终端类型
 * **/
export function editDir (params) {
  const newUrl = baseUrl + `/edit_dir`

  return axiosInstance.put(newUrl, params).then((res) => {
    return Promise.resolve(res)
  })
}

/**
 * 添加菜单
 * name 菜单名称
 * icon 图标名称
 * parentId 父id
 * remark 备注
 * type 是菜单还是按钮
 * url 地址
 * terminalType 终端类型
 * **/
export function addMenu (params) {
  const newUrl = baseUrl + `/add_menu`

  return axiosInstance.post(newUrl, params).then((res) => {
    return Promise.resolve(res)
  })
}

/**
 * 编辑菜单
 * id
 * name 菜单名称
 * icon 图标名称
 * parentId 父id
 * url 地址
 * terminalType 终端类型
 * **/
export function editMenu (params) {
  const newUrl = baseUrl + `/edit_menu`

  return axiosInstance.put(newUrl, params).then((res) => {
    return Promise.resolve(res)
  })
}

/**
 * 添加按钮
 * name 菜单名称
 * icon 图标名称
 * parentId 父id
 * terminalType 终端类型
 * **/
export function addBtn (params) {
  const newUrl = baseUrl + `/add_button`

  return axiosInstance.post(newUrl, params).then((res) => {
    return Promise.resolve(res)
  })
}

/**
 * 编辑菜单
 * id
 * name 菜单名称
 * icon 图标名称
 * parentId 父id
 * url 地址
 * terminalType 终端类型
 * **/
export function editBtn (params) {
  const newUrl = baseUrl + `/edit_button`

  return axiosInstance.put(newUrl, params).then((res) => {
    return Promise.resolve(res)
  })
}

/**
 * 删除数据
 * id
 * terminalType 终端类型
 * **/
export function del (params) {
  const newUrl = baseUrl + `/delete_menu`

  return axiosInstance.delete(newUrl, { params }).then((res) => {
    return Promise.resolve(res)
  })
}
